package com.hava.film.timeline.xmeml.v5.entity;

import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement;

import java.util.List;
import java.util.ArrayList;

@JacksonXmlRootElement(localName = "audio")
public class Audio {

    //一个或者多个元素
    @JacksonXmlProperty(localName = "in")
    @JacksonXmlElementWrapper(useWrapping = false)
    public List<String> in = new ArrayList<String>();

    //一个或者多个元素
    @JacksonXmlProperty(localName = "out")
    @JacksonXmlElementWrapper(useWrapping = false)
    public List<String> out = new ArrayList<String>();

    //一个或者多个元素
    @JacksonXmlProperty(localName = "track")
    @JacksonXmlElementWrapper(useWrapping = false)
    public List<Track> track = new ArrayList<Track>();

    //一个或者多个元素
    @JacksonXmlProperty(localName = "format")
    @JacksonXmlElementWrapper(useWrapping = false)
    public List<Format> format = new ArrayList<Format>();

    //一个或者多个元素
    @JacksonXmlProperty(localName = "outputs")
    @JacksonXmlElementWrapper(useWrapping = false)
    public List<Outputs> outputs = new ArrayList<Outputs>();

    //一个或者多个元素
    @JacksonXmlProperty(localName = "channelcount")
    @JacksonXmlElementWrapper(useWrapping = false)
    public List<String> channelcount = new ArrayList<String>();

    //一个或者多个元素
    @JacksonXmlProperty(localName = "channeldescription")
    @JacksonXmlElementWrapper(useWrapping = false)
    public List<String> channeldescription = new ArrayList<String>();

    //一个或者多个元素
    @JacksonXmlProperty(localName = "rate")
    @JacksonXmlElementWrapper(useWrapping = false)
    public List<Rate> rate = new ArrayList<Rate>();

    //一个或者多个元素
    @JacksonXmlProperty(localName = "samplecharacteristics")
    @JacksonXmlElementWrapper(useWrapping = false)
    public List<Samplecharacteristics> samplecharacteristics = new ArrayList<Samplecharacteristics>();

    //一个或者多个元素
    @JacksonXmlProperty(localName = "layout")
    @JacksonXmlElementWrapper(useWrapping = false)
    public List<String> layout = new ArrayList<String>();

    //一个或者多个元素
    @JacksonXmlProperty(localName = "audiochannel")
    @JacksonXmlElementWrapper(useWrapping = false)
    public List<Audiochannel> audiochannel = new ArrayList<Audiochannel>();

    //一个或者多个元素
    @JacksonXmlProperty(localName = "trackcount")
    @JacksonXmlElementWrapper(useWrapping = false)
    public List<String> trackcount = new ArrayList<String>();

    //一个或者多个元素
    @JacksonXmlProperty(localName = "filter")
    @JacksonXmlElementWrapper(useWrapping = false)
    public List<Filter> filter = new ArrayList<Filter>();

    //一个或者多个元素
    @JacksonXmlProperty(localName = "duration")
    @JacksonXmlElementWrapper(useWrapping = false)
    public List<String> duration = new ArrayList<String>();

    //一个或者多个元素
    @JacksonXmlProperty(localName = "metadata")
    @JacksonXmlElementWrapper(useWrapping = false)
    public List<Metadata> metadata = new ArrayList<Metadata>();

}
